package com.young.ums.model;

import com.young.common.core.excel.ExcelColumn;

import java.util.Date;
import java.util.List;

/**
* 组织机构信息实体类
* Created by imrookie on 2018-9-24.
*/
public class Dept extends AuthorityParameter {

    @ExcelColumn(value = "编号", order = 1)
    private String id;//编号
    @ExcelColumn(value = "编码", order = 2)
    private String code;//编码
    @ExcelColumn(value = "部门名称", order = 3)
    private String name;//部门名称
    @ExcelColumn(value = "简称", order = 4)
    private String shortName;//简称
    @ExcelColumn(value = "所属单位", order = 5)
    private String companyId;//所属单位,本身是单位节点,该值等于自身编号
    private String companyName;//所属单位名称
    @ExcelColumn(value = "上级部门ID", order = 5)
    private String parentId;//上级部门ID
    private String parentName;//上级部门名称
    @ExcelColumn(value = "部门层级", order = 6)
    private Integer deptLevel;//部门层级
    @ExcelColumn(value = "显示顺序", order = 7)
    private Integer num;//显示顺序
    @ExcelColumn(value = "ID全路径", order = 8)
    private String wholeId;//ID全路径
    @ExcelColumn(value = "NAME全路径", order = 9)
    private String wholeName;//NAME全路径
    @ExcelColumn(value = "类型", order = 10)
    private String type;//类型
    @ExcelColumn(value = "创建时间", order = 11)
    private Date createTime;//创建时间
    private Date createTime2;//创建时间,按时间检索时作为结束时间使用
    @ExcelColumn(value = "修改时间", order = 12)
    private Date updateTime;//修改时间
    private Date updateTime2;//修改时间,按时间检索时作为结束时间使用

    private String orderBy;//排序字段
    private String orderType;//排序类型,升序asc/降序desc

    private List<Role> roleList;//角色列表,单位角色树使用
    private List<User> userList;//用户列表,单位用户树使用
    private String nodeType = "DEPT";//节点类型,供前端树插件使用

    public Dept(){
        super();
    }

    @Override
    public String toString() {
        return "Dept{" +
                "id='" + id + '\'' +
                ", code='" + code + '\'' +
                ", name='" + name + '\'' +
                ", shortName='" + shortName + '\'' +
                ", companyId='" + companyId + '\'' +
                ", companyName='" + companyName + '\'' +
                ", parentId='" + parentId + '\'' +
                ", parentName='" + parentName + '\'' +
                ", deptLevel=" + deptLevel +
                ", num=" + num +
                ", wholeId='" + wholeId + '\'' +
                ", wholeName='" + wholeName + '\'' +
                ", type='" + type + '\'' +
                '}';
    }

    public String getId() {
    return id;
    }
    public void setId(String id) {
    this.id = id;
    }
    public String getCode() {
    return code;
    }
    public void setCode(String code) {
    this.code = code;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getShortName() {
    return shortName;
    }
    public void setShortName(String shortName) {
    this.shortName = shortName;
    }
    public String getParentId() {
    return parentId;
    }
    public void setParentId(String parentId) {
    this.parentId = parentId;
    }
    public Integer getDeptLevel() {
    return deptLevel;
    }
    public void setDeptLevel(Integer deptLevel) {
    this.deptLevel = deptLevel;
    }
    public Integer getNum() {
    return num;
    }
    public void setNum(Integer num) {
    this.num = num;
    }
    public String getWholeId() {
    return wholeId;
    }
    public void setWholeId(String wholeId) {
    this.wholeId = wholeId;
    }
    public String getWholeName() {
    return wholeName;
    }
    public void setWholeName(String wholeName) {
    this.wholeName = wholeName;
    }
    public String getType() {
    return type;
    }
    public void setType(String type) {
    this.type = type;
    }
    public Date getCreateTime() {
    return createTime;
    }
    public void setCreateTime(Date createTime) {
    this.createTime = createTime;
    }
    public Date getCreateTime2() {
    return createTime2;
    }
    public void setCreateTime2(Date createTime2) {
    this.createTime2 = createTime2;
    }
    public Date getUpdateTime() {
    return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
    }
    public Date getUpdateTime2() {
    return updateTime2;
    }
    public void setUpdateTime2(Date updateTime2) {
    this.updateTime2 = updateTime2;
    }

    public String getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public List<Role> getRoleList() {
        return roleList;
    }

    public void setRoleList(List<Role> roleList) {
        this.roleList = roleList;
    }

    public String getNodeType() {
        return nodeType;
    }

    public void setNodeType(String nodeType) {
        this.nodeType = nodeType;
    }

    public List<User> getUserList() {
        return userList;
    }

    public void setUserList(List<User> userList) {
        this.userList = userList;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }
}